Donald Knuth’s “The Art of Computer Programming” on algorithms and their analysis is a classic text in computer science. The image of computer programming that is reflected in this book is one that is highly analytical and mathematical. It calls to mind the figure of a lone developer sitting down at a keyboard to enter esoteric codes into computer. It is difficult to imagine a more “technical” activity; the code must be syntactically correct before it compiles and the algorithms must be completely logical. But science and technology studies (STS) tell us that all technology is socially shaped. Applying this analytical lens to computer programming, new relations emerge. The tools for creating software—the programming language, development environment, and operating system, have been created by many people over many years. All of these have been designed and engineered, which means optimized for a set of constraints in a particular setting. In this talk, I will explore how the act of computer programming has been socially shaped, using both historical and contemporary software technologies, such as ENIAC, FORTRAN, and agile.
Uploaded by chris85 on